package com.hnas.trade.dao;

import java.util.List;

import com.hnas.common.service.dto.search.DTOCommoditOrderSearch;
import com.hnas.common.service.dto.search.DTOECardOrderSearch;
import com.hnas.common.service.dto.search.DTOOrderSearch;
import com.hnas.core.dao.BaseDao;
import com.hnas.core.dto.DTOPagedList;
import com.hnas.ecard.service.dto.DTOCommoditOrder;
import com.hnas.ecard.service.dto.DTOECardOrder;
import com.hnas.ecard.service.dto.DTOSaleCardOrder;
import com.hnas.trade.orm.Order;
import com.hnas.trade.service.dto.DTOOrder;

public interface OrderDao extends BaseDao<Order>{
	Order saveOrUpdate(DTOOrder dto) throws Exception;//创建(修改)订单

	DTOOrder getByOrderNo(String orderNo);
	
	Order findByQRCode(String qrCode);
	
	void updateOrderStatus(String orderNo, String status);
	
	DTOOrder getBySwiftNumber(String swiftNumber);

	List<DTOOrder> getUnSuccessOrderList();
	
	List<DTOOrder> getScanMrchPayingOrderList();

	List<DTOOrder> getAccountOrderList();

	DTOPagedList<DTOOrder> search(DTOOrderSearch criteria);

	List<DTOSaleCardOrder> listOrderNoPay();

	DTOPagedList<DTOCommoditOrder> searchCommoditOrder(DTOCommoditOrderSearch criteria);

	DTOPagedList<DTOECardOrder> searchECardOrder(DTOECardOrderSearch criteria);
}
